Digital color imaging involves the reproduction of individual colors using combinations of colors such as cyan, magenta, yellow, and black (CMYK) in the case of typical hard copy printers, or red, green, and blue (RGB) in the case of typical display monitors. To provide accurate color reproduction, the input color values provided to the output device must be precisely controlled. The color outputs of two different printers may differ significantly for identical input color values. Similarly, common input color values may produce different color outputs for a monitor and a printer. For this reason, the color input data often is modified, or “corrected,” using device calibration data to produce consistent color output from device to device. Modification of the input color values, in effect, modifies the drive values for the output device to compensate for colorimetric differences between different output devices. Color transformation is commonly used to achieve consistent color appearance, and involves pixel-based alteration of image data, e.g., CMYK->C′M′Y′K′, to simulate the output of a reference device.
Color images typically are defined by page description files. A page description language (PDL), such as Adobe™ PostScript™, permits the definition of pages using complex commands and subroutines to create graphic objects. A page description format, such as Adobe's Portable Document Format (PDF), provides a file format for consistent geometric appearance of an image on different output devices. In each case, the page description file contains commands that specify particular color values and associate them with pixels within the image to be reproduced. A raster image processor (RIP) converts the page description file to a bitmapped pixel image. A hardware RIP may be built into the output device or provided as a separate component. For some devices, the RIP is software-based. The pixel image contains the input color values that drive an output device such as a hard copy printer or a display monitor. The pixel image provides the explicit data necessary to drive the output device, while the page description file contains implicit commands for generation of the explicit data by RIP conversion.